package com.es.gateway.sdk.app.comm;

import com.es.gateway.sdk.util.GsonUtil;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * 查询余额响应对象
 */
@Data
public class EsBalanceResponse {
    /**
     * 日志ID
     */
    private String logId;
    /**
     * 响应状态码
     */
    private String code;
    /**
     * 执行结果描述
     */
    private String msg;
    /**
     * 查询结果 (包括子账号的)
     */
    private List<result> result;

    @Data
    class result {
        /**
         * 一砂云账号ID
         */
        private String userId;
        /**
         * 账户余额
         */
        private BigDecimal balance;
        /**
         * 最大授信额度
         */
        private BigDecimal maximumCredit;
        /**
         * 剩余授权额度
         */
        private BigDecimal remainingAuthorizationAmount;
        /**
         * 欠费阈值 (达到这个阈值将进行短信/邮件通知)
         */
        private BigDecimal threshold;
    }

    public String toJsonStr() {
        return GsonUtil.getAllJson().toJson(this);
    }

    public static EsBalanceResponse fromJsonStr(String jsonStr) {
        return GsonUtil.getAllJson().fromJson(jsonStr, EsBalanceResponse.class);
    }
}
